package com.zzq.common.exception;

/**
 * @author ZZQ
 * @date 2019/3/9 下午 4:38
 * 包装器业务异常实现
 */
public class BusinessException extends Exception implements CommonError {
    private static final long serialVersionUID = -95488249109758195L;
    private final CommonError commonError;

    // 直接接收EmBusinessError的传参用于构造业务异常
    public BusinessException(CommonError commonError) {
        // 必须调用super方法,会对一些参数初始化
        super();
        this.commonError = commonError;
    }

    // 接收自定义errMsg的方式构造业务异常
    public BusinessException(CommonError commonError, String errMsg) {
        super();
        this.commonError = commonError;
        this.commonError.setErrMsg(errMsg);
    }


    @Override
    public int getErrCode() {
        return this.commonError.getErrCode();
    }

    @Override
    public String getErrMsg() {
        return this.commonError.getErrMsg();
    }

    @Override
    public CommonError setErrMsg(String errMsg) {
        this.commonError.setErrMsg(errMsg);
        return this;
    }
}
